//
//
//  Generated by StarUML(tm) C++ Add-In
//
//  @ Project : OOAD5T
//  @ File Name : CleanerController.h
//  @ Date : 2026-05-03
//  @ Author : 
//
//


#if !defined(_CLEANERCONTROLLER_H)
#define _CLEANERCONTROLLER_H

#include "IPower.h"
#include "EventBus.h"
#include "Timer.h"
#include "HDWARE/HwCleaner.h"
#include "SensorController.h"
#include <iostream>

class CleanerController : public IPower {
public:
	CleanerController(EventBus* bus, HwCleaner* cleaner, Timer* timer = nullptr);
	void turnOn();
	void turnOff() override;
	void CCpowerUp();
	void CCpowerRestore();
private:
	bool isTurnOn;
	bool powerUp;
	HwCleaner* cleaner;
	Timer defaultTimer;

protected:
	Timer* timer;
};

#endif  //_CLEANERCONTROLLER_H
